<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="Content-Language" content="zh-CN"><title>systemd.target
  中文手册 [金步国]</title><style>
@font-face { font-family: "JinBuGuoWebMono"; src: url("http://www.jinbuguo.com/d/mono.ttf") format("truetype"); }
* { font-family: "JinBuGuoWebMono", "Ubuntu Mono", "Consolas", "Menlo", monospace; }
body { margin:10px; }
h1 { text-align:center; background:#ddd; }
h2#auth_name { text-align:center; margin: 10px 5%; }

    a.headerlink {
      color: #c60f0f;
      font-size: 0.8em;
      padding: 0 4px 0 4px;
      text-decoration: none;
      visibility: hidden;
    }

    a.headerlink:hover {
      background-color: #c60f0f;
      color: white;
    }

    h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
      visibility: visible;
    }
</style><script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?d286c55b63a3c54a1e43d10d4c203e75"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><h1>systemd.target 中文手册</h1><h2 id="auth_name">译者：<strong><a href="http://www.jinbuguo.com/">金步国</a></strong></h2><hr><h3>版权声明</h3><p>本文译者是一位开源理念的坚定支持者，所以本文虽然不是软件，但是遵照开源的精神发布。</p><ul><li>无担保：本文译者不保证译文内容准确无误，亦不承担任何由于使用此文档所导致的损失。</li><li>自由使用：任何人都可以自由的<u>阅读/链接/打印</u>此文档，无需任何附加条件。</li><li>名誉权：任何人都可以自由的<u>转载/引用/再创作</u>此文档，但必须保留译者署名并注明出处。</li></ul><h3>其他作品</h3><p>本文译者十分愿意与他人分享劳动成果，如果你对我的其他翻译作品或者技术文章有兴趣，可以在如下位置查看现有的作品集：</p><ul><li><a href="http://www.jinbuguo.com/">金步国作品集</a> [ <a href="http://www.jinbuguo.com/">http://www.jinbuguo.com/</a> ]</li></ul><h3>联系方式</h3><p>由于译者水平有限，因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好)，请来信指出，任何提高译文质量的建议我都将虚心接纳。</p><ul><li>Email(QQ)：70171448在QQ邮箱</li></ul><hr><a href="systemd.index.html">手册索引</a> ·
  <a href="systemd.directives.html">指令索引</a><span style="float:right">systemd-241</span><hr><div class="refentry"><a name="systemd.target"></a><div class="titlepage"></div><div class="refnamediv"><h2>名称</h2><p>systemd.target — 目标单元配置</p></div><div class="refsynopsisdiv"><h2>大纲</h2><p><code class="filename"><em class="replaceable"><code>target</code></em>.target</code></p></div><div class="refsect1"><a name="id-1.5"></a><h2 id="描述">描述<a class="headerlink" title="Permalink to this headline" href="systemd.target.html#%E6%8F%8F%E8%BF%B0">¶</a></h2><p>以
    "<code class="literal">.target</code>" 为后缀的单元文件，
    封装了一个由 systemd 管理的启动目标，
    用于在启动过程中将一组单元汇聚到一个众所周知的同步点。</p><p>此类单元没有专用的配置选项。
    <a href="systemd.unit.html#"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>
    中描述了通用于所有单元类型的配置选项(亦称"配置指令"或"单元属性")，
    它们位于 [Unit] 与 
    [Install] 小节。因为此类单元没有专用的配置选项，
    所以并不存在专用的 [Target] 小节。</p><p>对于被目标单元汇聚的单元来说，
    目标单元本身并不能提供任何额外的附加功能。
    目标单元的功能仅仅是通过依赖关系将一组单元汇聚在一起，
    形成一个同步点，并给这个同步点取一个众所周知的名称，
    以便用作启动目标或其他单元的依赖。
    目标单元非常适合用于替代传统的SysV运行级机制，
    特别地，出于兼容性考虑，
    类似 <code class="filename">runlevel3.target</code> 这样的目标单元，
    应该专用于兼容传统SysV运行级的场合。
    详见
    <a href="systemd.special.html#"><span class="citerefentry"><span class="refentrytitle">systemd.special</span>(7)</span></a>
    手册。</p></div><div class="refsect1"><a name="id-1.6"></a><h2 id="自动依赖">自动依赖<a class="headerlink" title="Permalink to this headline" href="systemd.target.html#%E8%87%AA%E5%8A%A8%E4%BE%9D%E8%B5%96">¶</a></h2><div class="refsect2"><a name="id-1.6.2"></a><h3 id="隐含依赖">隐含依赖<a class="headerlink" title="Permalink to this headline" href="systemd.target.html#%E9%9A%90%E5%90%AB%E4%BE%9D%E8%B5%96">¶</a></h3><p>target 单元没有隐含依赖。</p></div><div class="refsect2"><a name="id-1.6.3"></a><h3 id="默认依赖">默认依赖<a class="headerlink" title="Permalink to this headline" href="systemd.target.html#%E9%BB%98%E8%AE%A4%E4%BE%9D%E8%B5%96">¶</a></h3><p>除非明确设置了
      <code class="varname">DefaultDependencies=no</code> ，否则 target 单元将会自动添加下列依赖关系：</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>对通过
         <code class="varname">Wants=</code> 或
        <code class="varname">Requires=</code> 汇聚的单元的
        <code class="varname">After=</code> 依赖(除非指定的单元中含有 <code class="varname">DefaultDependencies=no</code>)。
        注意，必须明确的在 target 单元文件中定义对被汇聚单元的 <code class="varname">Wants=</code> 或
        <code class="varname">Requires=</code> 依赖。
        例如，如果你在 some.service 单元文件中定义了 <code class="varname">Wants=</code>some.target  ，
        那么并不会自动添加上述表示先后顺序的依赖关系。</p></li><li class="listitem"><p><code class="varname">Conflicts=<code class="filename">shutdown.target</code></code>
        与 <code class="varname">Before=<code class="filename">shutdown.target</code></code>
        依赖。</p></li></ul></div></div></div><div class="refsect1"><a name="id-1.7"></a><h2 id="例子">例子<a class="headerlink" title="Permalink to this headline" href="systemd.target.html#%E4%BE%8B%E5%AD%90">¶</a></h2><div class="example"><a name="id-1.7.2"></a><p class="title"><b>例 1. 一个简单的独立目标单元</b></p><div class="example-contents"><pre class="programlisting"># emergency-net.target

[Unit]
Description=Emergency Mode with Networking
Requires=emergency.target systemd-networkd.service
After=emergency.target systemd-networkd.service
AllowIsolate=yes</pre><p>当在 target 单元中添加对其他单元的依赖时，务必要检查这些单元是否设置了 <code class="varname">DefaultDependencies=no</code> 。
      对于服务单元来说，除非明确设置了 <code class="varname">DefaultDependencies=no</code> ，
      否则将会自动获得 <code class="varname">Requires=sysinit.target</code>, <code class="varname">After=sysinit.target</code> 依赖。
      在本例中，因为 <code class="filename">emergency.target</code> 与 <code class="filename">systemd-networkd.service</code>
      都明确设置了 <code class="varname">DefaultDependencies=no</code> ，
      也就是说它们都不包含对 <code class="filename">sysinit.target</code> 的依赖，
      所以，很适合将它们引用到本例的 target 单元中。</p><p>要想进入本例所设置的"带网络的紧急维修模式"，可以使用 <code class="varname">systemctl
      isolate emergency-net.target</code> 命令，也可以使用
      <code class="varname">systemd.unit=emergency-net.target</code> 
      内核引导选项。</p><p>如果某个单元将 <code class="varname">WantedBy=emergency-net.target</code> 加入到
      <code class="varname">[Install]</code> 小节之中，那么在使用
      <span class="command"><strong>systemctl enable</strong></span> 命令启用该单元时，将会同时确保该单元在
      <code class="varname">emergency-net.target</code> 之前启动。
      还可以通过 <span class="command"><strong>systemctl add-wants</strong></span> 命令在无须修改单元文件的情况下，
      将任意单元添加为 <code class="filename">emergency.target</code> 的依赖。
      </p></div></div><br class="example-break"></div><div class="refsect1"><a name="id-1.8"></a><h2 id="参见">参见<a class="headerlink" title="Permalink to this headline" href="systemd.target.html#%E5%8F%82%E8%A7%81">¶</a></h2><p>
        <a href="systemd.html#"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
        <a href="systemctl.html#"><span class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a>,
        <a href="systemd.unit.html#"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>,
        <a href="systemd.special.html#"><span class="citerefentry"><span class="refentrytitle">systemd.special</span>(7)</span></a>,
        <a href="systemd.directives.html#"><span class="citerefentry"><span class="refentrytitle">systemd.directives</span>(7)</span></a>
      </p></div></div></body></html>
